#ifndef BOOK_H_
#define BOOK_H_
#include <vector>
#include "IRecordable.h"
using namespace std;

namespace Entities {

class Book: public IRecordable {

private:

	unsigned int id;
	string title;
	string author;
	string publisher;
	vector<string> *words;
	int status;

public:

	Book();

	string getTitle();
	string getAuthor();
	string getPublisher();
	vector<string>* getWords();
	int getStatus();
	void setTitle(string title);
	void setAuthor(string author);
	void setPublisher(string publisher);
	void setStatus(int status);
	void addWord(string wordToAdd);

	//IRecordable methods
	virtual void fillEntity(char *buffer, unsigned int bufferSize);
	virtual char* buildBuffer();
	virtual unsigned int getBufferSize();
	virtual unsigned int getEntityID();
	virtual void setEntityID(unsigned int entityID);

	virtual ~Book();
};

}

#endif /* BOOK_H_ */
